Python库:pipreqs 生成项目依赖文件
pipreqs 是一个 Python 库,它的主要功能是根据项目代码中的 import 语句自动生成 requirements.txt 文件。这个文件列出了项目所依赖的第三方库和版本,便于环境的重现和部署。
安装
你可以通过以下命令来安装 pipreqs:
pip install pipreqs
用法
安装好后就可以在项目根目录下通过如下命令生成 requirements.txt 文件。
pipreqs . --encoding=utf-8 --force
选项
<path>: 指定要扫描的目录路径,如果未提供,则默认使用当前目录。--use-local: 仅从本地安装的库中获取版本信息,而不通过 PyPI 远程查找。--pypi-server <url>: 使用自定义的 PyPI 源地址来获取包的信息。--proxy <url>: 使用代理服务器进行网络请求。代理地址可以直接在命令行指定,或者通过环境变量设置。--debug: 启用调试模式,输出详细的调试信息。--ignore <dirs>: 忽略特定的目录,避免在这些目录中查找依赖。多个目录可以用逗号分隔。--no-follow-links: 如果项目中有符号链接文件夹,pipreqs默认会跟随这些链接。使用此参数可以禁止这一行为。--encoding <charset>: 为打开文件指定编码类型(默认是utf-8)。--savepath <file>: 自定义生成的requirements.txt文件保存路径。--print: 将依赖项直接输出到终端,而不生成requirements.txt文件。--force: 如果requirements.txt文件已经存在,使用此参数强制覆盖。--diff <file>: 比较指定的requirements.txt文件中的依赖与项目实际导入的依赖,查看差异。--clean <file>: 清理指定的requirements.txt文件,移除那些在项目中未实际导入的库。--mode <scheme>: 指定生成requirements.txt文件中依赖的版本控制方式,支持以下三种:compat: 使用兼容版本,如Flask~=1.1.2,表示兼容1.1.x版本。gt: 使用大于等于版本号的模式,如Flask>=1.1.2。no-pin: 不指定版本号,如Flask。
--scan-notebooks: 在项目的 Jupyter Notebook 文件中查找import语句,适合那些使用.ipynb文件的项目。
延伸
-
生成
requirements.txt文件也可以直接使用 pip 的自带命令pip freeze > requirements.txt,只是这样会将本地环境中的所有三方包都丢进去,通常情况下这并不是我们想要的。 -
可以使用如下命令一次性安装
requirements.txt里的全部包pip install -r requirements.txt